home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / copyerrs.arc / COPYERRS.DOC < prev   
Text File  |  1988-09-02  |  6KB  |  129 lines

  1.                         COPYERRS  version 1.1  07-28-88
  2.  
  3.                             Send correspondence to:
  4.  
  5.                                   Kevin Rice
  6.                              5436 Willowick Circle
  7.                             Anaheim, CA 92807-4633
  8.                             (714) 637-1673 - voice
  9.  
  10. COPYERRS is written as a tool for use with all PseudoSam assemblers to provide
  11. the following features:
  12.  
  13. * copies error messages from the .LST file output from the assembler into the
  14. .ASM source file so that errors may be edited without having to go back and
  15. forth between the two files.  A switch is provided so that COPYERRS will leave
  16. your original .ASM file untouched, if you prefer, and output the error
  17. augmented source to a file with the extension .ERR.
  18.  
  19. * removes error messages previously inserted into the source file so that they
  20. do not have to be manually removed after correcting the errors.
  21.  
  22. * supports two error levels for batch file processing.  The PseudoSam assembler
  23. provides no error level output.  With COPYERRS, batch files can determine
  24. whether or not an error occurred during assembly.
  25.  
  26. * corrects error pointer (caret symbol '^') to point to error even when tabs
  27. are used in the source file.  The PseudoSam assembler treats tabs as one space
  28. and will point incorrectly when tabs are used in the source file.
  29.  
  30.                This sofware is FREE and NOT copyrighted - enjoy!
  31.  
  32. This is not a perfect program, but if you find any major bugs, let me know and
  33. I will try to fix them.  Source code is available if anyone is interested.
  34.  
  35.                        The format for using COPYERRS is:
  36.  
  37.                            COPYERRS [-o|-r] filename
  38.  
  39.                                     WHERE:
  40.  
  41. * filename is the complete path and name (less extension) of the source and
  42. list files (.ASM and .LST)
  43.  
  44. * -o will cause COPYERRS to leave your source file untouched and write the
  45. error agmented source to filename.ERR
  46.  
  47. * -r will cause COPYERRS to remove error messages from the source file named
  48. filename.ASM
  49.  
  50.                                    EXAMPLES:
  51.  
  52. COPYERRS \a51\myprog     - inserts error messages from myprog.LST
  53.                            into myprog.ASM in the directory a51
  54.  
  55. COPYERRS -o foo          - inserts error messages from foo.LST 
  56.                            into the source code from foo.ASM and
  57.                            writes it to a file named foo.ERR
  58.                            foo.ASM is not changed
  59.  
  60. COPYERRS -r test         - removes error messages previously
  61.                            inserted into test.ASM
  62.  
  63.  
  64.                                    WARNING:
  65.  
  66. COPYERRS always creates a temporary file named filename.ERR.  If filename.ERR
  67. exists on the disk it will be overwritten!
  68.  
  69.                        A NOTE ABOUT THE EJECT DIRECTIVE
  70.  
  71. The eject directive cannot be used in your source files.  This is because
  72. COPYERRS copies error messages line-by-line from the list file.  The PseudoSam
  73. assemblers do not output a line for the eject directive which throws COPYERRS
  74. off by one line for each eject.  I could have counted the form feed character
  75. as a line to get around this, but the assembler also inserts ejects every few
  76. lines automatically to skip perforations when the list file is printed (these
  77. don't count).  It's still possible to account for both situations, but I
  78. decided it wasn't worth the effort required to support it (yet).  The source
  79. for COPYERRS is available free if anybody feels ambitious.
  80.  
  81.                              BATCH FILE PROCESSING
  82.  
  83. COPYERRS supports two error levels which may be tested for in a batch file
  84. using the errorlevel variable.  After execution of COPYERRS, the errorlevel
  85. variable will be set to one of:
  86.  
  87. ERRORLEVEL 0 - indicates that COPYERRS executed successfully with 
  88.                no errors.  If COPYERRS was used to copy error
  89.                messages, errorlevel 0 also indicates that no
  90.                errors were present in the .LST file.  This can
  91.                be used in conjunction with ERRORLEVEL 2 to
  92.                determine if a no errors assembly occured.
  93.  
  94. ERRORLEVEL 1 - indicates that an error occurred preventing
  95.                COPYERRS from executing.  COPYERRS will display an
  96.                error message to the screen as to what happened.
  97.                Most likely the filename was typed incorrectly or
  98.                filname was not found in the specified directory.
  99.  
  100. ERRORLEVEL 2 - this error will only occur when COPYERRS is used
  101.                to copy error messages (when the -r switch is not
  102.                used).  This error indicates that error messages
  103.                were found in the .LST file and copied.  By
  104.                executing COPYERRS, a batch file can determine
  105.                whether or not an error occurred during assembly
  106.                and possibly return to a text editor to correct
  107.                errors.
  108.  
  109. Here is an example of errorlevel usage in a batch file:  Comments are inserted
  110. within parenthesis ()
  111.  
  112. COPYERRS -R MYPROG            (remove previous error messages)
  113. IF ERRORLEVEL 1 GOTO ERROR    (test if error occured in COPYERRS)
  114. A51 MYPROG                    (assemble source file MYPROG.ASM)
  115. COPYERRS MYPROG (insert error messages from MYPROG.LST into MYPROG.ASM)
  116. IF ERRORLEVEL 2 GOTO EDIT     (jump to editor if errors found)
  117. IF ERRORLEVEL 1 GOTO ERROR    (test if error occured in COPYERRS)
  118. ECHO MYPROG.ASM ASSEMBLED WITH NO ERRORS
  119. GOTO END
  120. :EDIT
  121. (insert name of text editor here) MYPROG
  122. GOTO END
  123. :ERROR
  124. ECHO ERROR EXECUTING COPYERRS
  125. :END
  126.  
  127. Be sure to always check for higher numbered errorlevels first as DOS thinks
  128. that ERRORLEVEL 1 is true if ERRORLEVEL 2 is set.
  129.